package controller;

import java.awt.Point;
import java.util.List;

/**
 * Interface for a computer player. The implementing class should decide how to choose a piece and its move 
 */
public interface ComputerPlayer {

	/**
	 * Chooses, according to current player, a piece randomly. If chosen piece does not have 
	 * any valid move at this turn, another piece is chosen.
	 * @return position of randomly chosen piece, assigned to indicated player
	 */
	public Point getPieceComputer(boolean isFirstPlayerTurn);
	
	/**
	 * Gets move list of piece to be moved. Chooses a move from its possible moves
	 * and returns the chosen move 
	 * @param moves- chosen piece's move list
	 * @return the position that was chosen to move at
	 */	
	public Point getMoveComputer(List<Point> moves);	
}